﻿using System;
using System.Runtime.Serialization;

namespace Scaredfinger.JSShell
{
  [Serializable]
  public class ShellClosedException : InvalidOperationException
  {
    //
    // For guidelines regarding the creation of new exception types, see
    //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconerrorraisinghandlingguidelines.asp
    // and
    //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp07192001.asp
    //

    public ShellClosedException()
    {
    }

    public ShellClosedException(string message) : base(message)
    {
    }

    public ShellClosedException(string message, Exception inner) : base(message, inner)
    {
    }

    protected ShellClosedException(
      SerializationInfo info,
      StreamingContext context) : base(info, context)
    {
    }
  }

  [Serializable]
  public class ShellAlreadyRunningException : InvalidOperationException
  {
    //
    // For guidelines regarding the creation of new exception types, see
    //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconerrorraisinghandlingguidelines.asp
    // and
    //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp07192001.asp
    //

    public ShellAlreadyRunningException()
    {
    }

    public ShellAlreadyRunningException(string message) : base(message)
    {
    }

    public ShellAlreadyRunningException(string message, Exception inner) : base(message, inner)
    {
    }

    protected ShellAlreadyRunningException(
      SerializationInfo info,
      StreamingContext context) : base(info, context)
    {
    }
  }

  [Serializable]
  public class ShellNotRunningException : InvalidOperationException
  {
    //
    // For guidelines regarding the creation of new exception types, see
    //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconerrorraisinghandlingguidelines.asp
    // and
    //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp07192001.asp
    //

    public ShellNotRunningException()
    {
    }

    public ShellNotRunningException(string message) : base(message)
    {
    }

    public ShellNotRunningException(string message, Exception inner) : base(message, inner)
    {
    }

    protected ShellNotRunningException(
      SerializationInfo info,
      StreamingContext context) : base(info, context)
    {
    }
  }

  [Serializable]
  public class ImportFormatException : Exception
  {
    //
    // For guidelines regarding the creation of new exception types, see
    //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconerrorraisinghandlingguidelines.asp
    // and
    //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp07192001.asp
    //

    public ImportFormatException()
    {
    }

    public ImportFormatException(string message) : base(message)
    {
    }

    public ImportFormatException(string message, Exception inner) : base(message, inner)
    {
    }

    protected ImportFormatException(
      SerializationInfo info,
      StreamingContext context) : base(info, context)
    {
    }
  }

  [Serializable]
  public class BadHandlerException : Exception
  {
    //
    // For guidelines regarding the creation of new exception types, see
    //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconerrorraisinghandlingguidelines.asp
    // and
    //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp07192001.asp
    //

    public BadHandlerException()
    {
    }

    public BadHandlerException(string message) : base(message)
    {
    }

    public BadHandlerException(string message, Exception inner) : base(message, inner)
    {
    }

    protected BadHandlerException(
      SerializationInfo info,
      StreamingContext context) : base(info, context)
    {
    }
  }

  [Serializable]
  public class DuplicatedGlobalObjectException : Exception
  {
    //
    // For guidelines regarding the creation of new exception types, see
    //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconerrorraisinghandlingguidelines.asp
    // and
    //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp07192001.asp
    //

    public DuplicatedGlobalObjectException()
    {
    }

    public DuplicatedGlobalObjectException(string message) : base(message)
    {
    }

    public DuplicatedGlobalObjectException(string message, Exception inner) : base(message, inner)
    {
    }

    protected DuplicatedGlobalObjectException(
      SerializationInfo info,
      StreamingContext context) : base(info, context)
    {
    }
  }

  [Serializable]
  public class CriticalException : Exception
  {
    //
    // For guidelines regarding the creation of new exception types, see
    //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconerrorraisinghandlingguidelines.asp
    // and
    //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp07192001.asp
    //

    public CriticalException()
    {
    }

    public CriticalException(string message) : base(message)
    {
    }

    public CriticalException(string message, Exception inner) : base(message, inner)
    {
    }

    protected CriticalException(
      SerializationInfo info,
      StreamingContext context) : base(info, context)
    {
    }
  }
}